﻿using QG.FrontDesk.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace QG.FrontDesk.DAL.IRepository
{
    public interface ICompanyRepository
    {
        /// <summary>
        /// 新增公司--返回Id
        /// </summary>
        /// <param name="company"></param>
        /// <returns></returns>
        int AddCompany(Company company);

        /// <summary>
        /// 完善公司信息
        /// </summary>
        /// <param name="company"></param>
        /// <returns></returns>
        int UpdateCompany(Company company);
        /// <summary>
        /// 完善公司标签
        /// </summary>
        /// <param name="labels"></param>
        /// <returns></returns>
        int UpdateCompanyTabel(int compId, string [] labels);
        /// <summary>
        /// 完善公司创始人团队
        /// </summary>
        /// <param name="compId"></param>
        /// <param name="foundTeams"></param>
        /// <returns></returns>
        int UpdateCompanyFound(List<FoundTeam> foundTeams);
        /// <summary>
        /// 完善公司产品信息
        /// </summary>
        /// <param name="CompId"></param>
        /// <param name="productInfos"></param>
        /// <returns></returns>
        int UpdateCompanyProduct( List<ProductInfo> productInfos);

        /// <summary>
        /// 完善公司简介
        /// </summary>
        /// <param name="remark"></param>
        /// <returns></returns>
        int UpdateCompanyRemark(int CompId,string remark);

        /// <summary>
        /// 得到公司信息
        /// </summary>
        /// <param name="compId"></param>
        /// <returns></returns>
        Company GetCompanyInfo(int compId);

        /// <summary>
        /// 修改详情页标签
        /// </summary>
        /// <param name="companyId"></param>
        /// <param name="labels"></param>
        /// <returns></returns>
        int UpdateLabelaByDetails(int companyId,string [] labels);
        /// <summary>
        /// 得到所有公司信息
        /// </summary>
        /// <returns></returns>
        List<Company> GetCompanyList(string fs, string ifs, string city);
        /// <summary>
        /// 修改公司地址,主页,规模
        /// </summary>
        /// <param name="CityName"></param>
        /// <param name="company"></param>
        /// <returns></returns>
        int UpdateCityIndustryByDetails(Company company);

        /// <summary>
        /// 修改公司介绍
        /// </summary>
        /// <param name="company"></param>
        /// <returns></returns>
        int  UpdateCityRemarkByDetails(Company company);

        /// <summary>
        /// 修改公司产品
        /// </summary>
        /// <param name=""></param>
        /// <returns></returns>
        int UpdateProductByDetails(ProductInfo productInfo);

        /// <summary>
        /// 公司登录
        /// </summary>
        /// <param name="Email"></param>
        /// <param name="pwd"></param>
        /// <returns></returns>
        Company GetCompany(string Email,string pwd);

        /// <summary>
        /// 设置公司密码
        /// </summary>
        /// <param name="password"></param>
        /// <param name="compId"></param>
        /// <returns></returns>
        int UpdatePwd(string password,int compId);
    }
}
